Method and apparatus for remote interaction with and configuration of a WAN-based knowledge base

ABSTRACT

A system for selling products and services over the Internet, or other wide area network, comprises a knowledge base and a knowledge base configurator both executing on a network-connected server hosted by the enterprise offering products and/or services. A GUI user interface application is downloaded from the server to any platform used by a client wishing to purchase products or services. Having downloaded the user interface, the client can manipulate the configurator over a data link between the client&#39;s station and the server to configure the knowledge base to define products and/or services to be orders, and can complete orders. A preferred implementation is with the server as an enterprise-hosted server connected to the Internet, and clients as users connected typically through Internet Service Providers to the Internet.

CROSS-REFERENCE TO RELATED APPLICATIONS

[0001] The present invention is a divisional of co-pending applicationSer. No. 09/199,136, filed Nov. 24, 1998, which is a continuation inpart (CIP) of co-pending application Ser. No. 08/962,594 filed Oct. 31,1997, entitled Method for Generating and Updating Knowledge-BasedConfigurators that are Multi Platform and Multi Language Capable, whichis incorporated herein in it's entirety by reference.

FIELD OF THE INVENTION

[0002] The present invention is in the field of computer-aided sales andadvertising and has particular application to software applications forinteracting with and configuring knowledge bases presented on a widearea network (WAN) via a remote computer or shared network connection.

BACKGROUND OF THE INVENTION

[0003] Computer-aided sales presentations wherein rules-basedconfigurators are employed have long been a valuable tool for allowing acustomer or client to configure his or her own order of a product orproducts. This technique is employed in a network environment whereby aclient configures his or her order and sends it over the Internet, oranother type of network, to a seller which can fill the order. Forexample, a complex computer system has many different features,accessories, options, etc. With the appropriate software program, aclient can configure his or her own custom order for a particular brandor type of system. By employing an interactive method a client can applycertain desired features in his product-order configuration that werechosen from options provided by a seller.

[0004] More recently, it is known to the inventor that object-oriented,constraint-based configurators have begun to replace rules-basedconfigurators by virtue of their more flexible organization. Forexample, rules-based configurators rely on set rules that are programmedin a procedural computer language. Partly for this reason, every changein the merchandise offered may require substantial changes in thesoftware, which can be quite a lot of work, considering the fast pace oftrade today.

[0005] Rules-based configurators are not physically separated from theactual knowledge data and the application for manipulating the knowledgedata. Knowledge base configurators known to the inventor have suchseparation (an applet) therefore, the knowledge base can be changedeasily via an editing process. The knowledge base applies the changesvia linking to other elements of the process such as the object model.

[0006] Generally speaking, an object model representing a product, suchas a new automobile, is created using a programming language within amodel building application at the sellers end. This object modelcontains all of the descriptive elements and various features includingcost information about the object it represents. A model writerprocedure then writes a binary file, which is readable only toapplications written in the same environment.

[0007] These object models can then be presented to a client having theappropriate software application on the correct platform and using therequired language. The client can then enter his desired choices oroptions via interactive software. A configurator commonly known as arun-time engine insures that the client's choices are applied correctly.The configurator is also adapted to negate any conflict or impossibilitythat may arise from the client's directives.

[0008] A difficulty with the current state of the art, which hashampered fast deployment of knowledge bases severely, is that although aknowledge base is superior to a rules base as described above, theknowledge base is language-dependent and not easily transferred acrossdifferent platforms (i.e. IBM to Macintosh, or even Win 3.1 vs. Win 95).For example, a client would be required to operate in the same computerplatform and language to be able to interactively configure his desiredpurchase. This is a serious problem because it severely limits thetargeted on-line community that a seller may reach.

[0009] A knowledge base configuration process known to the inventor anddescribed with reference to the priority application to this CIPapplication as listed under the Cross-Reference to related documentssection above, effectively solves the above described problem related tolanguage and platform dependency. However, clients interacting withmodel-presenting companies must download both the knowledge base and theknowledge base configuration software in order to configure a product tohopefully reflect the desired specifications and features which areoffered.

[0010] A unique interaction topology for the network applicationdescribed above is taught later in this specification with reference toFIG. 2. The advantage of this technique is that configuration iscomparatively swift because it is done locally (client side). A drawbackis the requirement for downloading the knowledge base and any updatesthat may be required including updates to the applet that configures theknowledge base.

[0011] It is desired by many clients who buy interactively over a WANvia the use of knowledge bases, that software downloading be kept to aminimum, as it is time consuming and uses otherwise available computermemory. Moreover, since the first application communication speed forWAN systems like the Internet has improved dramatically. What is clearlyneeded is an executable interface that would allow a client to configurea knowledge base and transact an order with the company without beingrequired to download the knowledge base or software to configure theknowledge base.

SUMMARY OF THE INVENTION

[0012] In a preferred embodiment of the present invention a method forconfiguring a knowledge-based object model located at a server platformfrom a client platform via a data network is provided, comprising stepsof (a) providing the object model and a configurator at the serverplatform; (b) transporting, from the server platform to the clientplatform, a GUI user-interface application capable of manipulating theconfigurator over the data network; and (c) invoking the GUIuser-interface application at the client platform by a client, and usingthe GUI user-interface application to configure the object model at theserver from the client platform. In some embodiments the GUIuser-interface application is a Java-based applet. Also, the serverplatform may be a first Internet-connected computer and the clientplatform is a second Internet-connected computer. The GUI user-interfaceapplication may also be a WEB-browser plug-in in some embodiments. Inmany cases the client platform connects to the Internet through anInternet Service Provider (ISP), the server platform is hosted by anenterprise, and the client uses the downloaded GUI user-interfaceapplication to configure the object model to select and order a productor service offered by the enterprise.

[0013] In another aspect of the invention a system for selling productsand services from a computerized server in a wide area network isprovided, comprising a knowledge base stored at or accessible to theserver; a configurator executable at the server platform to configurethe knowledge base; and a GUI user-interface application capable ofmanipulating the configurator over the data network, executable on aclient platform connected to the server platform by a data link. In thisembodiment a client uses the GUI user-interface application over thedata link to manipulate the configurator to configure the knowledgebase.

[0014] Also in this embodiment of a system, the GUI user-interfaceapplication may be a Java-based applet. The server platform can be afirst Internet-connected computer and the client platform a secondInternet-connected computer, in which case the GUI user-interfaceapplication may be a WEB browser plug-in. Preferably the client platformconnects to the Internet through an Internet Service Provider (ISP).Typically server platform is hosted by an enterprise, and the clientuses the downloaded GUI user-interface application to configure theobject model to select and order a product or service offered by theenterprise.

BRIEF DESCRIPTION OF THE DRAWING FIGURES

[0015]FIG. 1 is a flow chart illustrating a procedure for a knowledgebase application according to an embodiment of the present invention.

[0016]FIG. 2 is a block diagram illustrating system architecture andclient interaction with a WEB-based knowledge base according to anembodiment of the invention described in priority document Ser. No.08/962,594.

[0017]FIG. 3 is a block diagram illustrating client interaction with aWEB-based knowledge base according to an embodiment of the presentinvention.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0018]FIG. 1 is a flow chart illustrating a knowledge base work flowapplication according to an embodiment of the present invention whereinboth knowledge base objects and GUI objects are generated and presentedto a client by an advertiser or seller of a product.

[0019] A knowledge base generator or model builder 101 is used at thesellers end to create a desired object model 102. As described brieflywith reference to the background section, object model 102 contains allof the information related to the represented object or product such asdimensions, colors, styles, pricing and the like. Model builder 101 is asoftware tool known to the inventor in the art of generating knowledgebases.

[0020] In a preferred embodiment of the present invention a programminglanguage such as Java or C+ is used in the building of object model 102.The reason for this is because these languages are relatively universaland usable among different platforms. It will be apparent to one withskill in the art that many different programming languages could be usedin creating object model 102 without departing from the spirit and scopeof the present invention such as Perl or Visual Basic. The languagesmentioned above are used in a preferred embodiment for reasons describedabove.

[0021] A unique and innovative method according to an embodiment of thepresent invention is initiated by using a model-converting writer 103 towrite object model 102 into the form of a collection of human readablefiles. ASCII files. Such files are commonly referred to by those withskill in the art as flat files, and are typically human readable andsensical. A flat file 104 which is an ASCII file containing knowledgebase objects that have been converted and written by model-convertingwriter 103 can be transported to the client over the Internet or anothertype of network. Flat file 104 is an external media type file that canbe read by a computer program or by a person. Therefore the recreationor modification of the object models can be automated or manual. Also,communications across different platforms is sometimes “intransparent”,meaning only human readable files can be transferred. Other file types,such as binary files, can contain characters that would be interpretedby either entity (sending or receiving computer) as commands, includingsuch commands that can disrupt or terminate such communications.

[0022] Flat file 104 in an embodiment of the invention is used as asource for a GUI builder 111 in the process of building a GUI objectmodel 112. GUI-object model 112 insures that there are graphical orvisual representations of the appropriate parts of object model 102.Using a conversion-model writer 113, GUI-object models are written intothe form of a human-readable ASCII flat file along with some optionalmultimedia files for filling in the GUI that can then be sent to aclient.

[0023] The incorporation of a human readable, ASCII format into theknowledge base process allows for the transporting of the associatedinformation across different computer platforms as well as allowing forthe use of differing languages. This unique method utilizes knownsoftware applications such as model-converting writers 103, and 113 andenhances them with the capability of converting the object models intoflat files as explained and taught above.

[0024] In FIG. 1, dotted line 110 represents a network transmissioninterface, such as transmission of files to a client via an Internetconnection. Those steps and processes appearing above line 110 are onthe seller's side, and those below are on the client's side. Presumably,in the case of the Internet, the client has accessed the seller'sInternet site, and is capable of downloading selected information.Whether or not the information downloaded is useful to the client is anissue addressed by the present invention.

[0025] At the client's end, a reader application 123 reads the flatfiles downloaded from the advertiser's site and rebuilds these filesinto objects for a knowledge-based configurator known in the art as arun-time engine 121. Run-time engine 121 converts flat files 104 and 114back into knowledge base objects 122 and GUI objects 132 which are thesame as object models 102 and 104. For example, if the same programminglanguage and environment is used in run-time engine 121 as in modelbuilder 101, then knowledge base 122 will be identical to object model102 both binaurally and descriptively. The same relationship can beconcluded with regards to GUI objects 132 and object model 112. If adifferent language and environment is used in run-time generator 121that that used in model builder 101, then the files are not binaurallyidentical, but will accurately describe the same object.

[0026] A process of the present invention as described above could beused to up-date configurator systems such as run-time engine 121.Editing or changing rules could be done from within the knowledge baseinstead of from within the object model via the addition of a readerthat reads the flat file back into object model 102.

[0027] Method and Apparatus for Remote Client to Knowledge BaseInteraction

[0028] According to a preferred embodiment of the present invention, amethod and apparatus is provided wherein a client may interact with andconfigure a knowledge base without downloading the knowledge base orsoftware used to manipulate the knowledge base.

[0029]FIG. 2 is a block diagram illustrating client interaction with aWEB-based knowledge base according to an embodiment of the inventiondescribed and claimed in application Ser. No. 08/962,594. In order toenable an adequate explanation of the present invention, the inventorhas chosen to first illustrate a network topology that is consistentwith the priority application listed under the Cross-Reference toRelated Documents above.

[0030] According to the prior embodiment, a unique method was taught forclient interaction with WAN-based knowledge bases that is adapted tosave the client time and resources when configuring a product or servicefor order. The topology as illustrated herein with reference to FIG. 2comprises a client 133 that is connected to a wide area network (WAN)135, such as the Internet, via a remote network connection 134, such asa typical Internet connection known in the art. The method of connectionmay also, in some embodiments, be that of a shared network connectionsuch as may be the case of a smaller local area network (LAN) connectedto WAN 135.

[0031] WAN 135 may be the Internet, an Intranet, or another type of WANknown in the art. Client 133 has a personal computer (PC) 136 having thecapability and equipment to enable the above described connection to WAN135 as known in the art. WAN 135 comprises a server 137 adapted to serveand receive data to and from PC 136 at the location of client 133. Fileserver 137 is typically hosted by an enterprise engaged in sellingproducts to clients such as 133 over WAN 135, as is consistent with themethod taught with respect to the priority application. A database 143is illustrated as being connected to file server 137 as is known in theart of server/database relationships as practiced on a WAN.

[0032] A knowledge base 139 is resident in server 137, or accessiblefrom database 143, along with an applet 141 adapted to manipulate andconfigure knowledge base 139. The configuration of knowledge base 139 isdefined, for the purpose of clarity, as selecting the desired optionsrelating to color, model number, optional accessories, and the like, asmay be offered as interactive options in the knowledge base representingthe product.

[0033] Knowledge base 139 is analogous to components 104 and 114 aslisted above line 110 (seller's end) in FIG. 1 of the priorityapplication. Knowledge base 139 as such is also illustrated logically asdownloaded to PC 136 at the location of client 133 as indicated viadirectional arrow K. At PC 136, knowledge base 139 is analogous toelements 122 (KB Objects) and element 132 (GUI Objects) as illustratedbelow line 110 (client's side) of FIG. 1.

[0034] It will be apparent to one with skill in the art that there maybe many more than one knowledge base and associated applet availablefrom server 137 without departing from the spirit and scope of thepresent invention. However, the inventor chooses to illustrate only oneknowledge base and one applet in order to simplify explanation of thepresent invention.

[0035] Applet 141 is analogous to Reader 123 and Run-Time Engine 121 asillustrated below line 110 (client's end) in FIG. 1. Applet 141 is alsoillustrated as downloaded to PC 136 as was described above withreference to knowledge base 139. The download is illustrated viadirectional arrow A. In this way, client 133 may configure his productoff-line via use of the downloaded components. For example, applet 141is used as a tool to configure knowledge base 139 as illustrated viabidirectional arrow placed between the two components. Once his productis configured, client 133 may go on-line (connect to WAN 135) and uploada finished order to server 137 which may in turn communicate withdatabase 143 and relay information back to client 133. Database 143typically contains data related to the products provided by the companypresenting the knowledge bases and may also contain additionalinformation such as shipping dates, product status, product updates,applet updates and so on.

[0036] Working off-line allows client 133 to configure knowledge base139 at his leisure and allows him to place an order for the configuredproduct at any desired time. In this case, ASCII files (flat files)along with optional multimedia files as described with reference to FIG.1 are sent in the download of knowledge base 139 as represented by arrowK. This allows for differences in computer platform and languages to beutilized on the same network-interaction topology. While this uniquetopology and method provides distinct advantages to client 133, he stillmust download applet 141 and knowledge base 139 in order to configureand place his order. This could be an issue if he is using someoneelse's computer, for example, wherein downloading components is notdesired or approved by the owner. Similarly, he may be sharing a commonsystem with several users with policy governing the system discouragingor forbidding such purchasing wherein significant downloading isrequired.

[0037] According to a preferred embodiment of the present invention, aunique applet is provided and adapted to function as a controller formanipulating an applet such as applet 141 of FIG. 2 to,configure aknowledge base such as knowledge base 139 of FIG. 2. This innovativeapplet gives a client complete control over the configuration of hisproduct and transaction of his order.

[0038]FIG. 3 is a block diagram illustrating architecture and clientinteraction with a WEB-based knowledge base according to an embodimentof the present invention. In order to avoid redundancy elements oftopology and components that are not new to the invention will not bereintroduced and retain their same element numbers.

[0039] The network topology of FIG. 3 is essentially the same as thenetwork topology illustrated with reference to FIG. 2. For example,client 133 is connected via remote connection 134 to server 137, whichin turn is connected to database 143 as was described with reference toFIG. 2. However, a difference exists in the way that the clientinteracts with knowledge base 139 and applet 141.

[0040] A graphical user interface (GUT) applet 145 is provided andadapted to communicate and exert control over applet 141 which in turnenables the configuration of knowledge base 139. GUT 145 is, in thisembodiment, a Java-based applet which is capable of being executed ondifferent kinds of platforms. In alternate embodiments, GUT 145 may beCOM model, or Active-X™. As a Java GUT, applet 145 is adapted to sendand receive data as both text and graphics. Similar to a softwarecontrol panel, a client such as client 133 uses GUT 145 to instructapplet 141 to make the desired selections required with respect toknowledge base 139 in order for a successful product order to berealized.

[0041] In this embodiment, GUT 145 is the only component that must bedownloaded to PC 136 as illustrated via directional arrow G representingsuch download. As a control interface, GUT 145 contains only theappropriate control codes and display capability for requiredinteraction. For example, commands may be sent to applet 141 to executedesired selections, while displayable results of such selections appearin a display window or dialog box associated with GUT 145. This allowsGUT 145 to remain very small in overall data size, therefore, largelyreducing any download requirements that otherwise may be presented.

[0042] GUT 145 may be in the form of a WEB-browser plug-in. As a Javaenabled plug-in, GUT 145 may be capable of transmitting and receivingaudio, audio/video, text and graphics, or any other supported media. Inone embodiment, GUT 145 may be embedded in a WEB form downloaded byclient 133 from the company selling the products.

[0043] GUT 145 has the ability to communicate with applet 141 asillustrated via directional arrow C. Communication between GUT 145 andapplet 141 in server 137 is such that knowledge base options may beviewed, and selections may be made wherein upon making a selection,viewable results of the selection are presented in a GUI-associateddisplay or window. GUI 145 may contain application program interfaces(API's) adapted to invoke installed readers, viewers, players, and suchas maybe required to disseminate audio or graphic content. In oneembodiment, the required or selected viewing capability is supplied withGUI 145.

[0044] The unique method of providing a GUI as an interface produces anoption wherein a client need not perform any significant downloading inorder to configure and present an order to a company. The completeconfiguration and transaction of an order takes place on-line. Updatesto client software are minimized as only GUI updates are required whensignificant editing is done to an existing GUI. Such updates may bedelivered to a client via push technology such as e-mail, or offered tothe client in the form of an interactive update button. One example of aGUI update may be that a new media is supported. Code enabling the mediamay be sent as an executable and configure itself to the existing GUIcode.

[0045] With the use of GUI 145, a client such as client 133 cannot nowconfigure his product off-line and send an order whenever he decides.However, this disadvantage is substantially off-set by the fact thatdownloading is at a minimum. In many cases, configuring and ordering aproduct on-line with GUI 145 will be faster than downloading componentsthat would be required when performing the same task without GUI 145. Ofcourse, this will depend on the size and complication of the downloadedknowledge base and associated controls.

[0046] After configuring a knowledge base such as knowledge base 139,GUI 145 may act as an interface to database 143 through applet 141. Forexample, the actual transaction of the order, confirmation of thereceipt of the order and any added information such as real-time status,any conflict information such as might cause delay in shipment, and soon, may be relayed to client 133 via applet 141 and GUI 145.

[0047] It will be apparent to one with skill in the art that an appletsuch as GUI applet 145 may be created supporting varying media types asmay be offered in a presentation or product promotion and that suchmedia types may be already installed on PC 136 and invoked by GUI 145,or be provided in their entirety as viewers within GUI 145.

[0048] It will also be apparent to one with skill in the art that theuse of ASCII files as illustrated with regards to FIG. 1 (P3501PA) maybe practiced on the sellers side if more than one computer language orplatform is evident among several systems connected to the sellersnetwork. With the provision of GUI 145, a client such as client 133 willnot be required to work with ASCII files.

[0049] It will be apparent to one with skill in the art that a method ofthe present invention such as described with reference to FIG. 1 coulduse a variety of different programming languages as known in the artwithout departing from the spirit and scope of the present invention. Itwill also be apparent to one with skill in the art that the method ofthe present invention may be adapted to be transported across a varietyof known computer platforms without departing from the spirit and scopeof the present invention. For example a client using a windows operatingsystem may download and configure ASCII files that were generated in aUNIX environment and so on.

[0050] The spirit and scope of the present invention is limited only bythe claims that follow.

What is claimed is:
 1. A method for configuring a knowledge-based objectmodel located at a server platform from a client platform via a datanetwork, comprising steps of: (a) providing the object model and aconfigurator at the server platform; (b) transporting, from the serverplatform to the client platform, a GUI user-interface applicationcapable of manipulating the configurator over the data network; and (c)invoking the GUI user-interface application at the client platform by aclient, and using the GUI user-interface application to configure theobject model at the server from the client platform.
 2. The method ofclaim 1 wherein the GUI user-interface application is a Java-basedapplet.
 3. The method of claim 1 wherein the server platform is a firstInternet-connected computer and the client platform is a secondInternet-connected computer.
 4. The method of claim 1 wherein the GUIuser-interface application is a WEB-browser plug-in.
 5. The method ofclaim 3 wherein the client platform connects to the Internet through anInternet Service Provider (ISP).
 6. The method of claim I wherein theserver platform is hosted by an enterprise, and the client uses thedownloaded GUI user-interface application to configure the object modelto select and order a product or service offered by the enterprise.
 7. Asystem for selling products and services from a computerized server in awide area network, comprising: a knowledge base stored at or accessibleto the server; a configurator executable at the server platform toconfigure the knowledge base; a GUI user-interface application capableof manipulating the configurator over the data network, executable on aclient platform connected to the server platform by a data link; whereina client uses the GUI user-interface application over the data link tomanipulate the configurator to configure the knowledge base.
 8. Thesystem of claim 7 wherein the GUI user-interface application is aJava-based applet.
 9. The system of claim 7 wherein the server platformis a first Internet-connected computer and the client platform is asecond Internet-connected computer.
 10. The system of claim 9 whereinthe GUI user-interface application is a WEB browser plug-in.
 11. Thesystem of claim 9 wherein the client platform connects to the Internetthrough an Internet Service Provider (ISP).
 12. The system of claim 7wherein the server platform is hosted by an enterprise, and the clientuses the downloaded GUI user-interface application to configure theobject model to select and order a product or service offered by theenterprise.